package com.fulihui.information.api;

import com.fulihui.information.dto.AppObtainTypeDTO;
import com.fulihui.information.request.AppQueryObtainTypeIdRequest;
import com.fulihui.information.request.AppQueryObtainTypeRequest;
import com.fulihui.information.request.AppQueryObtainTypeSaveRequest;
import org.near.servicesupport.result.BaseResult;
import org.near.servicesupport.result.TMultiResult;
import org.near.servicesupport.result.TSingleResult;

/**
 * @author Willard.Hu on 2017/1/24 0024.
 */
public interface AppObtainTypeService {
    /**
     * 得到APP资讯列表获取内容方式
     *
     * @param request {@link AppQueryObtainTypeRequest}
     * @return {@link AppObtainTypeDTO}
     */
    TSingleResult<AppObtainTypeDTO> getObtainType(AppQueryObtainTypeRequest request);

    /**
     * 按条件查询APP资讯列表获取内容方式
     *
     * @param request {@link AppQueryObtainTypeRequest}
     * @return {@link AppObtainTypeDTO} 列表
     */
    TMultiResult<AppObtainTypeDTO> query(AppQueryObtainTypeRequest request);

    /**
     * 保存（新增、更新）APP资讯列表获取内容方式
     *
     * @param request {@link AppQueryObtainTypeSaveRequest}
     * @return 服务处理结果
     */
    BaseResult save(AppQueryObtainTypeSaveRequest request);

    /**
     * 删除APP资讯列表获取内容方式
     *
     * @param request {@link AppQueryObtainTypeIdRequest}
     * @return 服务处理结果
     */
    BaseResult delete(AppQueryObtainTypeIdRequest request);
}
